En la jerga de DS por variable vamos a entender la medición de una característica o atributo. Ejemplos de variables son: edad, peso, longitud, latitud, precio, ingreso, etc.
Clasificaciones de variables
Las variables pueden ser clasificadas por su representación numérica, o por cómo son medidas (es decir, cómo son asignados números a los atributos de acuerdo a una regla, su escala de medición). Las variables también pueden ser clasificadas de acuerdo a cómo están asociadas unas con otras.
Esta es una clasificación de acuerdo a su representación numérica. Las variables discretas son contables infintas (pueden sear asignados números naturales \(\mathbb{N}=\{1, 2, 3, \dots\}\)). Las variables continuas son incontables infinitas (pueden ser asignadas a los números reales \(\mathbb{R}\)).
Tipos de variables (tomada de OpenInstro Statistics)
Las variables categóricas podrían considerarse un tipo de variable discreta, pero no es del todo cierto. Las variables categóricas no tienen porqué seguir un orden en particular ni ser asignadas a un subconjunto de números. Por ejemplo, la variable sexo puede ser tan bien representada por (0, 1) como por (1, 2). La variable ordinal Nivel educativo puede ser tan bien representada con (0, 1, 2, 3) como por (1,2, 3, 4) etc.
De acuerdo a su nivel de medición, pueden ser clasificadas como nominales, ordinales, de intervalo y de razón.
Las variables con escala nominal no tienen una correspondencia numérica específica. Se les asignan números solo para identificarlas. Las operaciones aritméticas de suma, resta, multiplicación, división, etc, no tienen sentido, porque el número que se les asigna no implica más o menos cantidad de su atributo. La única operación permitida es la de conteo, su estadística descriptiva se hace con frecuencias y porcentajes.
Las variables en escala ordinal tampoco tienen una correspondencia, siempre y cuando sean asignados valores que preserven el orden de rango. No pueden describir grados de diferencia ni magnitud relativa entre dos observaciones con diferente orden. Por ejemplo, Alberto califica de bueno un libro que Luis calificó con de malo en una escala de \(\{\text{pésimo, malo, regular, bueno, excelente}\}\). No podemos decir que el libro fue doblemente bueno para Alberto que para Luis. También se pueden describir con frecuencias y porcentajes, pero además con mediana y rango.
Las las variables en escala de intervalo sí tienen una correspondencia precisa que debe preservar orden y magnitud. Se puede sumar y restar con valores en esta escala, pero no dividir ni multiplicar. El 0 es arbitrario (como en los grados Celcius) por lo que un 0 no implica ausencia del atributo, y no se puede decir que 20 °C es el doble de caliente que 10 °C. Todo intervalo en una escala de intervalo es igual que otro intervalo en la escala: \(15-10=30 - 25\). Sus estadísticos descriptivos son media, desviación estándar, varianza (y por extensión mediana y rango).
Las variables en escala de razón tienen todas las propiedades de las intervalares (conservan orden y magnitud), además de un 0 verdadero, en el que el 0 sí significa una ausencia de magnitud. Se puede sumar, restar, dividir y multiplicar en estas escalas. Pueden expresar magnitudes relativas (e.g., 4 metros es el doble de 2 metros). Sus estadísticos descriptivos, además de media, desviación estándar, varianza, mediana y rango, son la media geométrica, coeficiente de variación.
Estadísticos descriptivos
La estadística se divide clásicamente en dos grandes ramas: la descriptiva y la inferencial (a su vez en estimación y prueba de hipótesis). La estadística descriptiva se ocupa de resumir y visualizar los datos, mientras que la inferencial se ocupa de hacer inferencias sobre la población a partir de una muestra. Existen dos tipos de estadísticos descriptivos: los de locación y los de dispersión.
¿Por qué es necesaria la estadística? Para responder a esto, necesitamos hacer una diferencia entre población y muestra.
La población es el conjunto de todos los individuos de interés en un estudio. Por individuos nos referimos a personas, animales, plantas, ítems, obetos, etc.
La muestra es un subconjunto de la población. La estadística descriptiva se ocupa de resumir y visualizar los datos de la muestra, mientras que la inferencial se ocupa de hacer inferencias sobre la población a partir de una muestra.
Si tuviéramos acceso a todos los individuos de la población, no necesitaríamos estadística. Pero en la práctica, esto es imposible. Por ejemplo, si quisiéramos saber la edad de todos los habitantes de una ciudad, no podríamos hacerlo. En cambio, podemos tomar una muestra de la población, y a partir de ella, hacer inferencias sobre la población.
Estadísticos según la variable
Las operaciones estadísticas que están definidas o son permitidas varían según el tipo de variable. Vamos a describir las operaciones y medidas estadísticas comúnmente aplicadas a cada tipo:
Numéricas
1.1. Continuas:
Medidas de tendencia central: media (promedio), mediana, moda.
Medidas de dispersión: desviación estándar, varianza, rango, rango intercuartílico.
Correlaciones: coeficiente de correlación de Pearson, coeficiente de Spearman (si bien es para variables ordinales, puede usarse en datos continuos con relaciones no lineales).
Modelado: Regresión lineal, regresión polinomial, entre otros.
1.2. Discretas:
Medidas de tendencia central: media, mediana, moda.
Medidas de dispersión: desviación estándar, varianza, rango.
Distribuciones: Distribución binomial, distribución de Poisson, entre otras.
Correlaciones: Las mismas que para variables continuas, aunque en ciertos contextos se pueden considerar de manera diferente.
Categóricas
2.1. Nominales:
Frecuencias: Conteos y porcentajes.
Asociación: Chi-cuadrado de independencia, coeficiente de contingencia, Cramér V.
Comparaciones: Proporciones, razones.
Modelado: Regresión logística multinomial, análisis discriminante, entre otros.
2.2. Ordinales:
Medidas de tendencia central: mediana, moda.
Medidas de dispersión: rango, rango intercuartílico.
Correlaciones: coeficiente de correlación de Spearman, coeficiente de correlación de Kendall.
Asociación: Test de tendencia para datos ordinales.
Modelado: Regresión logística ordinal, entre otros.
import numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animationfrom IPython.display import HTML# Set up the figure, the axis, and the plot elementsfig, axs = plt.subplots(3, 1, figsize=(7, 8))fig.tight_layout(pad=3.0)N =10000# size of the populationn =10# sample sizeK =1000# number of times to sample# Create the source distribution: Here I'm using a normal distribution for simplicitymu =10# meansigma =1# standard deviationsource_data = np.random.normal(mu, sigma, N)sample_means = []def update(num):# Clear the previous histogramsfor ax in axs: ax.cla() x_min =min(source_data) -1 x_max =max(source_data) +1# First panel: the population histogram axs[0].hist(source_data, bins=50, color='blue', alpha=0.7) axs[0].set_title("Source Distribution") axs[0].set_xlim(x_min, x_max) axs[0].text(x_max -0.1* (x_max - x_min), 0.8* N/50, 'Mean: {:.2f}\nStd: {:.2f}'.format(np.mean(source_data), np.std(source_data)), va="top", ha="right")# Second panel: sample histogram sample = np.random.choice(source_data, n) axs[1].hist(sample, bins=50, color='green', alpha=0.7) axs[1].set_title("Sample of Size {}".format(n)) axs[1].set_xlim(x_min, x_max) axs[1].set_ylim(0, 15) axs[1].text(x_max -0.1* (x_max - x_min), 15*0.2666, 'Mean: {:.2f}\nStd: {:.2f}'.format(np.mean(sample), np.std(sample)), va="top", ha="right")# Third panel: sample mean histogram# Add the mean of the current sample to sample_means sample_means.append(np.mean(sample)) axs[2].hist(sample_means, bins=50, color='red', alpha=0.7) axs[2].set_title("Distribution of Sample Means (n={})".format(n)) axs[2].set_xlim(x_min, x_max) axs[2].set_ylim(0, 30) axs[2].text(x_max -0.1* (x_max - x_min), 30*0.2666, 'Mean: {:.2f}\nStd: {:.2f}'.format(np.mean(sample_means), np.std(sample_means)), va="top", ha="right") plt.draw()ani = animation.FuncAnimation(fig, update, frames=K, repeat=False)# Display the animation in the Jupyter NotebookHTML(ani.to_jshtml())
Animation size has reached 20986142 bytes, exceeding the limit of 20971520.0. If you're sure you want a larger animation embedded, set the animation.embed_limit rc parameter to a larger value (in MB). This and further frames will be dropped.